SlideShare una empresa de Scribd logo
1 de 29
Aplicaciones con el PIC 16F84 Sistemas de comunicación SCADAI Ing. Fernando MonrroyDipp UAGRM, Septiembre 2010
Diagrama de bloques
Organización de la memoria
La UCP
Registros  Contador de programa CP Stack STATUS: C, Z, DC C: Acarreo Z: Cero DC: Acarreo del nibble inferior PD: powerdown PA0 y PA1: página 0 y 1
Puertos de E/S
Otras funciones Temporizador: RTCC es un contador interno o externo con (opcional) preescaler Watchdogtimer Interrupciones asincrónicas Pin INT Desbordamiento de contador otras
Programación del PIC 1 mov w, 34 2 rts rp0,0 3 clr rp1 4 add w,f 5 mov rpa,w 6 goto 3
El programa fuente
Juego de instrucciones Instrucciones de byte con registros De byte con W y literales Instrucciones de bit Instrucciones de control Instrucciones especiales
Instrucciones de byte con registros lógicas ANDWF f,d ;operación AND lógica, destino = W ^ f IORWF f,d ;operación OR lógica, destino = W v  f XORWF f,d ;operación XOR lógica, destino = W v f COMF f,d ;complemento lógico, destino = NOT f Transferencia MOVF f,d ;movimiento de datos, destino = f SWAPF f,d ;intercambia nibbles, destino = SWAP f CLRF f ;borrado de contenido, f = 0 MOVWF f ;copia contenido W  f, f = W
Instrucciones de byte con registros Incremento/decremento INCF f,d ;incremento aritmético, destino = f + 1 DECF f,d ;decremento aritmético, destino = f - 1 Rotación RLF f,d ;rotación a la izquierda, destino = f ROT  RRF f,d ;rotación a la derecha, destino = f ROT  Aritméticas ADDWF f,d ;suma aritmética, destino = f + W SUBWF f,d ;resta aritmética, destino = f - W
De byte con W y literales IORLW k ; operación OR lógica, W = W  k ANDLW k ; operación AND lógica, W = W  k XORLW k ; operación XOR lógica, W = W  k MOVLW k ;carga constante en W, W = K CLRW ;borra el contenido de W, W = 0
Instrucciones de bit BCF f,b ;borra el bit b de f ;bit f(b) = 0 BSF f,b ;coloca en uno el bit b de f ;bit f(b) = 1
Instrucciones de control GOTO k ;salto a la posición k (9 bits) del programa CALL k ;salto a la subrutina en la posición k (8 bits) RETLW k ;retorno de subrutina con constante k, W = k BTFSC f,b ;salteo si bit = 0, bit = f(0)  saltea BTFSS f,b ;salteo si bit = 1, bit = f(1)  saltea DECFSZ f,d ;decrementa y saltea sí 0, destino= f - 1, = 0  saltea INCFSZ f,d ;incrementa y saltea sí 0, destino= f + 1, = 0  saltea
Instrucciones especiales NOP ;no hace nada, consume tiempo TRIS f ;carga el tristate control, TRISf = W OPTION ;carga el registro OPTION, OPTION = W CLRWDT ;borra el watchdogtimer, WDT = 0 SLEEP ;coloca el µC en modo sleep, WDT = 0
Programación del PIC 1 mov w, 34 2 rts rp0,0 3 clr rp1 4 addw,f 5 movrpa,w 6 goto 3 Windows MPLAB
¿Qué hago con MPLAB? Depurar programas fuente. Detectar errores en programas fuente para editarlos. Depurar los programas utilizando puntos de corte (breakpoints) mediante valores de los registros internos.
¿Qué hago con MPLAB? Seguir el flujo del programa con MPLAB -SIM en tiempo real utilizando el emulador PICMASTER. Realizar medidas de tiempo utilizando un cronómetro. Mirar variables en las ventanas de observación. Encontrar respuestas rápidas, utilizando la Ayuda en línea del MPLAB.
Un ejemplo ;ejemplo:           status equ 0x03           ;hace equivalencia entre el símbolo status iniciandolo como 3 Contequ 0x20           F equ 1 org 0                             ;indica posición de memoria desde donde se ensambla Inicio movlw 0x0F                 ;carga de w con el valor constante 15 (literal) movwfCont;el contenido de w se pasa al reg. CONT Loop decfszCont,F;decremento de Cont y elude siguiente si=0 gotoLoop;salto incondicional a Loop goto $                         ;Salto incondicional aqui mismo end;Fin del código
Procedimiento  1. Haga doble click en el ícono correspondiente a MPLAB. 2. Crear el archivo fuente correspondiente (menú File...New Source). 3. Salve el archivo (con extensión .ASM) una vez terminada su edición (menú FILE...Save). 4. Debe a continuación crearse un nuevo proyecto (menú Project...New Project). 5. Cuando aparezca la ventana de New Project editar las cajas de texto: Project path and Name y DevelopmentMode, hacer click en <OK>.
Procedimiento  6. En la siguiente ventana Edit Project, hacer click en la sección Non-project files sobre el nombre del archivo fuente realizado en los pasos 2 y 3. 7. Haga click en el botón <=add y luego de que éste aparezca en la sección Project Files haga click sobre el botón <OK>. 8. Salvar el proyecto (en el menú Project...Saveproject). 9. Realizar la "construcción de todo el proyecto" (menú Project...BuildAll).
Procedimiento  10. En esta etapa se realiza en forma automática el ensamble de nuestro programa fuente y el vaciado de éste en memoria de simulación. El proceso de ensamble generará un archivo de errores en caso de que estos existan, sí es así deben corregirse directamente sobre el archivo fuente, salvar las correcciones y reconstruir el proyecto (menú Project...BuildAll). <<<En esta etapa del proceso ya se tiene el entorno listo para la simulación>>>
Pantalla de MPLAB Obtenerlo en forma gratuita de: http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm
Otras alternativas …
Obtenerlo en forma gratuita de: http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm
Continuará …

Más contenido relacionado

La actualidad más candente

Manipulacion de la pila!!
Manipulacion de la pila!!Manipulacion de la pila!!
Manipulacion de la pila!!
romo91
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009
Jair BG
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009
Jair BG
 

La actualidad más candente (18)

Pila Abstracta
Pila AbstractaPila Abstracta
Pila Abstracta
 
1.2 diagnostico
1.2 diagnostico1.2 diagnostico
1.2 diagnostico
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Codigo adc
Codigo adcCodigo adc
Codigo adc
 
02c.Unidad central de proceso
02c.Unidad central de proceso02c.Unidad central de proceso
02c.Unidad central de proceso
 
Interbloqueos salcedo carrero.doc
Interbloqueos salcedo carrero.docInterbloqueos salcedo carrero.doc
Interbloqueos salcedo carrero.doc
 
Manipulacion de la pila!!
Manipulacion de la pila!!Manipulacion de la pila!!
Manipulacion de la pila!!
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es Vietnam
 
ATIX06
 ATIX06 ATIX06
ATIX06
 
Ejercicios propuestos 10
Ejercicios propuestos 10Ejercicios propuestos 10
Ejercicios propuestos 10
 
Python y Flink
Python y FlinkPython y Flink
Python y Flink
 
Micc final feb14_2009
Micc final feb14_2009Micc final feb14_2009
Micc final feb14_2009
 
Laborqatoio 1 telematica
Laborqatoio 1 telematicaLaborqatoio 1 telematica
Laborqatoio 1 telematica
 
2.6 metodos de planificacion
2.6 metodos de planificacion 2.6 metodos de planificacion
2.6 metodos de planificacion
 
Info proyecto4
Info proyecto4Info proyecto4
Info proyecto4
 
Laboratorio de Microcomputadoras - Práctica 03
 Laboratorio de Microcomputadoras - Práctica 03 Laboratorio de Microcomputadoras - Práctica 03
Laboratorio de Microcomputadoras - Práctica 03
 
Micc final sept05_2009
Micc final sept05_2009Micc final sept05_2009
Micc final sept05_2009
 

Destacado (6)

Ejercicios-de-subneteo(listos)
 Ejercicios-de-subneteo(listos) Ejercicios-de-subneteo(listos)
Ejercicios-de-subneteo(listos)
 
Direccionamiento ejercios resueltos
Direccionamiento   ejercios resueltosDireccionamiento   ejercios resueltos
Direccionamiento ejercios resueltos
 
Ejercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrEjercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidr
 
Rangos de IPs Públicas y Privadas
Rangos de IPs Públicas y PrivadasRangos de IPs Públicas y Privadas
Rangos de IPs Públicas y Privadas
 
Guia básica Packet Tracer
Guia básica Packet TracerGuia básica Packet Tracer
Guia básica Packet Tracer
 
Direccionamiento Ip Y Subredes Ejercicios Resueltos
Direccionamiento Ip Y Subredes Ejercicios ResueltosDireccionamiento Ip Y Subredes Ejercicios Resueltos
Direccionamiento Ip Y Subredes Ejercicios Resueltos
 

Similar a Aplicaciones con el pic 16f84

como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLAB
MicroPart
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontrolador
Juan Gamboa P
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
Luis Zurita
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
Jair BG
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
georgeguitar
 

Similar a Aplicaciones con el pic 16f84 (20)

Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Tarea final
Tarea finalTarea final
Tarea final
 
Microcontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un ledMicrocontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un led
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLAB
 
Programación del microcontrolador
Programación del microcontroladorProgramación del microcontrolador
Programación del microcontrolador
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Curso de-mcu-proteus
Curso de-mcu-proteusCurso de-mcu-proteus
Curso de-mcu-proteus
 
53592868 curso-de-mcu-proteus
53592868 curso-de-mcu-proteus53592868 curso-de-mcu-proteus
53592868 curso-de-mcu-proteus
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekit
 
Proye84
Proye84Proye84
Proye84
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
 
Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdf
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Micc final feb04_2010_soluc
Micc final feb04_2010_solucMicc final feb04_2010_soluc
Micc final feb04_2010_soluc
 

Más de Victor Fernando Monroy Dipp (8)

Ejmplo anls p spice
Ejmplo anls p spiceEjmplo anls p spice
Ejmplo anls p spice
 
El intel 8086
El intel 8086El intel 8086
El intel 8086
 
Debug utilitario dos
Debug utilitario dosDebug utilitario dos
Debug utilitario dos
 
Capa de enlace de datos
Capa de enlace de datosCapa de enlace de datos
Capa de enlace de datos
 
Capa fisica medios 1
Capa fisica medios 1Capa fisica medios 1
Capa fisica medios 1
 
Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84
 
Rectificador filtro c
Rectificador filtro cRectificador filtro c
Rectificador filtro c
 
El microcontrolador pic
El microcontrolador picEl microcontrolador pic
El microcontrolador pic
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Aplicaciones con el pic 16f84

  • 1. Aplicaciones con el PIC 16F84 Sistemas de comunicación SCADAI Ing. Fernando MonrroyDipp UAGRM, Septiembre 2010
  • 5. Registros Contador de programa CP Stack STATUS: C, Z, DC C: Acarreo Z: Cero DC: Acarreo del nibble inferior PD: powerdown PA0 y PA1: página 0 y 1
  • 7. Otras funciones Temporizador: RTCC es un contador interno o externo con (opcional) preescaler Watchdogtimer Interrupciones asincrónicas Pin INT Desbordamiento de contador otras
  • 8. Programación del PIC 1 mov w, 34 2 rts rp0,0 3 clr rp1 4 add w,f 5 mov rpa,w 6 goto 3
  • 10. Juego de instrucciones Instrucciones de byte con registros De byte con W y literales Instrucciones de bit Instrucciones de control Instrucciones especiales
  • 11. Instrucciones de byte con registros lógicas ANDWF f,d ;operación AND lógica, destino = W ^ f IORWF f,d ;operación OR lógica, destino = W v f XORWF f,d ;operación XOR lógica, destino = W v f COMF f,d ;complemento lógico, destino = NOT f Transferencia MOVF f,d ;movimiento de datos, destino = f SWAPF f,d ;intercambia nibbles, destino = SWAP f CLRF f ;borrado de contenido, f = 0 MOVWF f ;copia contenido W f, f = W
  • 12. Instrucciones de byte con registros Incremento/decremento INCF f,d ;incremento aritmético, destino = f + 1 DECF f,d ;decremento aritmético, destino = f - 1 Rotación RLF f,d ;rotación a la izquierda, destino = f ROT RRF f,d ;rotación a la derecha, destino = f ROT Aritméticas ADDWF f,d ;suma aritmética, destino = f + W SUBWF f,d ;resta aritmética, destino = f - W
  • 13. De byte con W y literales IORLW k ; operación OR lógica, W = W k ANDLW k ; operación AND lógica, W = W k XORLW k ; operación XOR lógica, W = W k MOVLW k ;carga constante en W, W = K CLRW ;borra el contenido de W, W = 0
  • 14. Instrucciones de bit BCF f,b ;borra el bit b de f ;bit f(b) = 0 BSF f,b ;coloca en uno el bit b de f ;bit f(b) = 1
  • 15. Instrucciones de control GOTO k ;salto a la posición k (9 bits) del programa CALL k ;salto a la subrutina en la posición k (8 bits) RETLW k ;retorno de subrutina con constante k, W = k BTFSC f,b ;salteo si bit = 0, bit = f(0) saltea BTFSS f,b ;salteo si bit = 1, bit = f(1) saltea DECFSZ f,d ;decrementa y saltea sí 0, destino= f - 1, = 0 saltea INCFSZ f,d ;incrementa y saltea sí 0, destino= f + 1, = 0 saltea
  • 16. Instrucciones especiales NOP ;no hace nada, consume tiempo TRIS f ;carga el tristate control, TRISf = W OPTION ;carga el registro OPTION, OPTION = W CLRWDT ;borra el watchdogtimer, WDT = 0 SLEEP ;coloca el µC en modo sleep, WDT = 0
  • 17.
  • 18.
  • 19. Programación del PIC 1 mov w, 34 2 rts rp0,0 3 clr rp1 4 addw,f 5 movrpa,w 6 goto 3 Windows MPLAB
  • 20. ¿Qué hago con MPLAB? Depurar programas fuente. Detectar errores en programas fuente para editarlos. Depurar los programas utilizando puntos de corte (breakpoints) mediante valores de los registros internos.
  • 21. ¿Qué hago con MPLAB? Seguir el flujo del programa con MPLAB -SIM en tiempo real utilizando el emulador PICMASTER. Realizar medidas de tiempo utilizando un cronómetro. Mirar variables en las ventanas de observación. Encontrar respuestas rápidas, utilizando la Ayuda en línea del MPLAB.
  • 22. Un ejemplo ;ejemplo: status equ 0x03 ;hace equivalencia entre el símbolo status iniciandolo como 3 Contequ 0x20 F equ 1 org 0 ;indica posición de memoria desde donde se ensambla Inicio movlw 0x0F ;carga de w con el valor constante 15 (literal) movwfCont;el contenido de w se pasa al reg. CONT Loop decfszCont,F;decremento de Cont y elude siguiente si=0 gotoLoop;salto incondicional a Loop goto $ ;Salto incondicional aqui mismo end;Fin del código
  • 23. Procedimiento 1. Haga doble click en el ícono correspondiente a MPLAB. 2. Crear el archivo fuente correspondiente (menú File...New Source). 3. Salve el archivo (con extensión .ASM) una vez terminada su edición (menú FILE...Save). 4. Debe a continuación crearse un nuevo proyecto (menú Project...New Project). 5. Cuando aparezca la ventana de New Project editar las cajas de texto: Project path and Name y DevelopmentMode, hacer click en <OK>.
  • 24. Procedimiento 6. En la siguiente ventana Edit Project, hacer click en la sección Non-project files sobre el nombre del archivo fuente realizado en los pasos 2 y 3. 7. Haga click en el botón <=add y luego de que éste aparezca en la sección Project Files haga click sobre el botón <OK>. 8. Salvar el proyecto (en el menú Project...Saveproject). 9. Realizar la "construcción de todo el proyecto" (menú Project...BuildAll).
  • 25. Procedimiento 10. En esta etapa se realiza en forma automática el ensamble de nuestro programa fuente y el vaciado de éste en memoria de simulación. El proceso de ensamble generará un archivo de errores en caso de que estos existan, sí es así deben corregirse directamente sobre el archivo fuente, salvar las correcciones y reconstruir el proyecto (menú Project...BuildAll). <<<En esta etapa del proceso ya se tiene el entorno listo para la simulación>>>
  • 26. Pantalla de MPLAB Obtenerlo en forma gratuita de: http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm
  • 28. Obtenerlo en forma gratuita de: http://www.microchip.com/10/Tools/mTools/MPLAB/index.htm